package com.qm.console.service.bx;

import com.qm.console.controller.vo.comm.query.TimeOffsetQuery;
import com.qm.console.dao.model.BxDictDO;
import com.qm.console.pubdef.dto.bx.BxAtomFieldDTO;
import com.qm.console.pubdef.dto.bx.BxDisplayFieldDTO;
import com.qm.console.pubdef.dto.bx.BxJobDTO;
import com.qm.console.pubdef.dto.bx.BxRunJobDTO;

import java.util.List;

/**
 * //                       _oo0oo_
 * //                      o8888888o
 * //                      88" . "88
 * //                      (| -_- |)
 * //                      0\  =  /0
 * //                    ___/`---'\___
 * //                  .' \\|     |// '.
 * //                 / \\|||  :  |||// \
 * //                / _||||| -:- |||||- \
 * //               |   | \\\  -  /// |   |
 * //               | \_|  ''\---/''  |_/ |
 * //               \  .-\__  '-'  ___/-. /
 * //             ___'. .'  /--.--\  `. .'___
 * //          ."" '<  `.___\_<|>_/___.' >' "".
 * //         | | :  `- \`.;`\ _ /`;.`/ - ` : | |
 * //         \  \ `_.   \_ __\ /__ _/   .-` /  /
 * //     =====`-.____`.___ \_____/___.-`___.-'=====
 * //                       `=---='
 * //
 * //
 * //     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * //
 * //               佛祖保佑         永无BUG
 * <p>
 * com.qm.console.service.bx
 * Created on 2021/1/8.
 */
public interface BxService {

    List<BxDictDO> listDict();

    List<BxDictDO> listNumericDict();

    void updateDictDisplay(Integer id, String display);

    List<BxJobDTO> listJobs();

    void addJob(BxJobDTO job);

    String preUpdateJob(BxJobDTO job);

    void updateJob(BxJobDTO job);

    void deleteJob(Integer id);

    List<BxAtomFieldDTO> listAtomField();

    void addAtomField(BxAtomFieldDTO field);

    String preUpdateAtomField(BxAtomFieldDTO field);
    void updateAtomField(BxAtomFieldDTO field);

    void deleteAtomField(Integer id);

    List<BxDisplayFieldDTO> listDisplayField();

    void addDisplayField(BxDisplayFieldDTO field);

    String preUpdateDisplayField(BxDisplayFieldDTO field);

    void updateDisplayField(BxDisplayFieldDTO field);

    void deleteDisplayField(Integer id);

    void setJobOnline(Integer id);

    void setJobOffline(Integer id);

    void runJobOnce(BxRunJobDTO query);

}
